200
Can you add text with links in the event

// AnchorClick event - Occurs when an anchor element is clicked.
procedure TForm1.Schedule1AnchorClick(ASender: TObject; AnchorID : WideString;Options : WideString);
begin
	with Schedule1 do
	begin
		OutputDebugString( AnchorID );
		OutputDebugString( Options );
	end
end;

with Schedule1 do
begin
	Calendar.Selection := '6/20/2012';
	with Events do
	begin
		Add('6/20/2012 9:00:00 AM','6/20/2012 11:00:00 AM').ExtraLabel := '<aID1234;OPTIONS-1234>click me</a>';
		Add('6/20/2012 11:00:00 AM','6/20/2012 1:00:00 PM').ExtraLabel := '<a1235;OPTIONS-1235>click me</a>';
	end;
end
199
How do you adjust the font type and size of the event (method 2)

with Schedule1 do
begin
	Calendar.Selection := '6/20/2012';
	DefaultEventShortLabel := '<font mistral;12><%=%256%>';
	DefaultEventLongLabel := DefaultEventShortLabel;
	with Events do
	begin
		Add('6/20/2012 9:00:00 AM','6/20/2012 11:00:00 AM');
		Add('6/20/2012 11:00:00 AM','6/20/2012 1:00:00 PM');
	end;
end
198
How do you adjust the font type and size of the event (method 1)

with Schedule1 do
begin
	Calendar.Selection := '6/20/2012';
	with Events do
	begin
		with Add('6/20/2012 9:00:00 AM','6/20/2012 11:00:00 AM') do
		begin
			ShortLabel := '<font tahoma;12><%=%256%>';
			LongLabel := ShortLabel;
		end;
		with Add('6/20/2012 11:00:00 AM','6/20/2012 1:00:00 PM') do
		begin
			ShortLabel := '<fgcolor FF><i><font Mistral;16>your caption</i></font> goes here';
			LongLabel := ShortLabel;
		end;
	end;
end
197
How can I change the shape of the line to be shown when user drag and drop data over the control

with Schedule1 do
begin
	OLEDropMode := EXSCHEDULELib_TLB.exOLEDropManual;
	VisualAppearance.Add(1,'C:\Program Files\Exontrol\ExSchedule\Sample\EBN\dash1.ebn');
	Background[EXSCHEDULELib_TLB.exScheduleOLEDropPosition] := $1000000;
end
196
How can I highlight the date-time from cursor when the user drag and drop data over the control
with Schedule1 do
begin
	OLEDropMode := EXSCHEDULELib_TLB.exOLEDropManual;
	Background[EXSCHEDULELib_TLB.exScheduleOLEDropPosition] := $1;
end
195
How can I start drag and drop events

// OLEStartDrag event - Occurs when the OLEDrag method is called.
procedure TForm1.Schedule1OLEStartDrag(ASender: TObject; Data : IExDataObject;var AllowedEffects : Integer);
begin
	// Data.SetData("to be carried by drag and drop")
	with Schedule1 do
	begin
		AllowedEffects := 1;
	end
end;

with Schedule1 do
begin
	BeginUpdate();
	AllowMoveEvent := EXSCHEDULELib_TLB.exDisallow;
	AllowCreateEvent := EXSCHEDULELib_TLB.exDisallow;
	OLEDropMode := EXSCHEDULELib_TLB.exOLEDropManual;
	Calendar.Selection := '6/27/2012';
	with Events do
	begin
		Add('6/27/2012 11:00:00 AM','6/27/2012 12:30:00 PM').BodyBackColor := $ff;
		Add('6/27/2012 11:30:00 AM','6/27/2012 1:30:00 PM');
		Add('6/27/2012 8:30:00 AM','6/27/2012 11:45:00 AM');
	end;
	EndUpdate();
end
194
Is it possible to show the today date with a different foreground color

with Schedule1 do
begin
	Calendar.Selection := 'month(value) = month(date(``)) and (int((yearday(value) -1- ((7-weekday(value - yearday(value) + 1)) mod 7) )/7) = int((yearday(' + 
	'date(``))-1)/7))';
	Background[EXSCHEDULELib_TLB.exCalendarMarkToday] := BackColor;
	Background[EXSCHEDULELib_TLB.exCalendarMarkTodayForeColor] := $ff;
end
193
How can I hide the rectangle around the today date

with Schedule1 do
begin
	Calendar.Selection := 'month(value) = month(date(``)) and (int((yearday(value) -1- ((7-weekday(value - yearday(value) + 1)) mod 7) )/7) = int((yearday(' + 
	'date(``))-1)/7))';
	Background[EXSCHEDULELib_TLB.exCalendarMarkToday] := BackColor;
end
192
Is it possible to change the appearance of event with no status using the EBN (office theme)

with Schedule1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAEGg4BeoDg6AADACAxRDAMgBQKAAzQFAYaBqGqGAAGKD4JhUAIIRZGMIjFDcEwxC6NIpAWCYRDGEwCQiNQyRDCYYw+GYCJBmKKYcgONYgQLHcgxDI' + 
	'sJw/FyERjjeB4egkaZHRZOUZTZQsBxRAZ2Q4EQAKRpOFY9DTPcr0HR8ZQ+BKNAYkSjQAp2VZUVJFUqDKItVzbBIaRgteA7RrOXpjRjYEBxDKcZyxLqVLToiqcRz7PqbZ' + 
	'rjeioZoyBI+QjgYAUFDeGSTDQ3bwAA4rEqaaZnVbkOQQJTcNy7EKvYRzGA7CgPHI5QjnVR6BjUJztWyIbp3G4rchqH4RaqAF5ZXg9ez/FIaJbnUaMWhXFqOABwPC0XoI' + 
	'GuAJklAeR6H2dAngcEZWnQehzCsd4SmGPJzF2Io1l2fhrgeUpxHOLIAggSRAlIYw6B0ThGFyEJ4CEAwQgSV51BkDYQhCIQJHgGp0gAGBFgCB55nAAC3HCbYEGEOBIHOB' + 
	'ZhggZgagYIRIHYEoFCGMoSCKCJiEiFgjgaYZjjYGIJiKSI2CeBZiAgXgugyYxIgYNINmIaJaDiDpKEiag8g2Y5on4M4GkqGQWEaEZkgkJhKhEZBJC4ToTmSSBqFCFJki' + 
	'kNhUhXQpaFiFJlikbhPhcZZpC4GwqmYSYWGaGZmgmJhkhiZopjYboamGKY+HKGhmkmTh2CqZxZl4coeGeKY6HyHxmigbIuiCaBKBaBohmiCgOgKIhokoNoKgaKJqEaCI' + 
	'imkwwuiUKVyBiJk7m6HIiGGMqbCiSwqhaI4pmqComiOKBqiqNouioKpKj6JQsiqapOiuBoqnqZouiwaxahqOooiuSp+j+BpLEsFpGjGbILCaSoxGwSwuk6M5skgapQjS' + 
	'bIrDaVI15AWpYjSbYrG6T43G2a1Ui2bhLhaZo5m6C4mmSOJuiuNpujqYYrj6co6G6S5OnYLZvFuXpyj4b4rjqfI/G7aA7kCcBMBcBpBnCDAPAKQhwkwN1wjCbBHAiQpx' + 
	'CwVI7kVlJHBiRhwlwbzrHGbB/AeBpLlyFI/kmcoMiMJQvHKLIbCeSpyjyEwwkycxMk8LZMDMLIzC+S4LnyVw+kwYYsn8P5KHOPJoj+TnQl8NJSjMPJnEzmR9CMQpUnOS' + 
	'BvESVZ1g0ZwplWNYtHcXZXDWbYHESWA2C2Fxklkdgdh8aJXmGLYvGaBoME2RxylydxNlcdpcGGPZfHqXp3C2M4fIv3sD3ACMETAnALgJF+PAbgPh7jEHiFsXgNgxjyA4' + 
	'I8EoyR5CcFeCEY48huDPBqMsYYXBvg9GUPMDg/wiBjHoD0D4PRpD0G4NdcY8hoDZEqNcewHRHhlGyPYTofwujaHuB0Z4bQGh3C6O9ng9xvAJEqA0TIfgXiNHGPkDznxx' + 
	'D4E8F8To5x8iQGuKEdI+QvBvFSOuKotxYjpGGGYN4vR3j8A+A8Yo8R9jeHeMkeY/QPgsBoGcPonw3jdHuP4D4jxsgNH8F8V47R7D+E+L8eo+A/g/G+PwGYnx1j/D+FAA' + 
	'wAQfhoASAEL4lADiBAePEeowBcANAGGAOgCQhhDCMAoIIWAWgFHAMQDIghEBuAaEEbAPQChgHIB8QgUAxAQGEDgJgNAwgsBOIQJAbUpCoBoIoCAtAJiFGgMEBQwwqBjA' + 
	'WCEYAcwigoCgIAQBAQ==');
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exChangePanels) Or Integer(EXSCHEDULELib_TLB.exHideSplitter);
	Calendar.Selection := '6/27/2012';
	BodyEventBackColor := $1000000;
	ShowStatusEvent := False;
	DefaultEventPadding[EXSCHEDULELib_TLB.exPaddingAll] := 3;
	Background[EXSCHEDULELib_TLB.exScheduleCreateEventBackColor] := $1000000;
	Background[EXSCHEDULELib_TLB.exScheduleUpdateEventsBackColor] := $1000000;
	with Events do
	begin
		Add('6/27/2012 11:00:00 AM','6/27/2012 12:30:00 PM').BodyBackColor := $ff;
		Add('6/27/2012 11:30:00 AM','6/27/2012 1:30:00 PM').BodyBackColor := $ff00;
	end;
	EndUpdate();
end
191
Is it possible to change the appearance of event's status using the EBN (office theme)

with Schedule1 do
begin
	BeginUpdate();
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exChangePanels) Or Integer(EXSCHEDULELib_TLB.exHideSplitter);
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAEGg4BKYCg6AADACAxRDAMgBQKAAzQFAYaBqGqGAAGKD4JhUAIIRZGMIjFDcEwxC6NIpAWCYRDEMQ0AJCIzDJCIZBkHCPRjASQZUhmHIDTbIEBxfI' + 
	'MIxLE9IMwxfA8ax1GifI6hGSYDa0HAkABTVQRLL4aSDK6NaYmSL5DhkBokUpGKTpOhgATHMqqIzGURZNquEQ1DBbEI3BaUaw/CKRLAoahqVpqK4tS7MNa3XKkcxzD6eI' + 
	'ypGBKAgmQoJDLRGIxTiYACxPQACzsEAKapKUZPRZVNYQJQlNRDLiEcrgOr4DxqO4aWbZViaDZVawlNy5bhtfaqGrfKYJYLrWCTbh0Tz9KzIJJwHbcKxjKrDczjEoSVwi' + 
	'AmSgcGmIxaggHBHFmFpoHEJwbg8FpammO5bEUaxbm6ZwDH+YI7EIQQQhKAYkkYdA6hyDI4ngGRIA8AwQgSV51BkDYQhCIQJHeHAkCAGBFgGR55m8CQBkONkYCEEgxGeB' + 
	'ZJHQDgTgWFhFgyf4HmICByBqBRhmiAgmD+YggAIHIJmKSIhGMQJijiNgmgoYwYkoH4NCIWJaC6BhiiiZg2g4CR4moN4LmOWQGEKEAkCibgwg+vwiEeEQjFifhQhMIpZD' + 
	'oOoViUKJyFGExlDkGhXhcZIZGIXIWiUSIyGKFRmAkPhkheJYZC4bIYmaaYGGmF5mjmSh1hqJwZmIRYdieGZSH2GxnjmahbhoJx5nqAYhigOYaHOIAohiHhniKKBaDIZY' + 
	'jiiOZCgeJImnoEh/iWKJYk6FYmikehyhOJ4pBqCoZiQKY6gKHYIGmeoiiGKoqDqMoliwKh6FKM4riqOQOjeLYqhqYoxi6K5anKL4visWoSkGMYsDsCo5hKLIbCKS4jmy' + 
	'Kp+kyM5qlsRpFiyLB7GKTY2i0Spuk6NItAsfpXjALY7hKXYIk6Wh2CmBphgqOgTjuYhIHachAlAECAg=');
		Add(2,'CP:1 0 0 1 0');
		Add(4,'gBFLBCJwBAEHhEJAEGg4BGoDg6AADACAxRDAMgBQKAAzQFAYaBqGqGAAGKD4JhUAIIRZGMIjFDcEwxC6NIpASLoJDCH4mSTHYxyHIMWwtDiBZgkCA4fiGEYnThKM5SdK' + 
	'sXABG6NErSdDAAoKRIVTjAcsVTicAo+R7TcYgLBNAQHKQAHZDQRKZpuFoRRKJNgDLYUEhqGCyYDseyZNj2GZYRDPVqzWAFFzrFSqLilaYpSh+bpfSRSVI3PakQz+LCNC' + 
	'zwEAKYoaRZDRZgdzUbItMYNBKsMQgO6QAwqNKYQjWVaaFgEYzJMa2LTiHSqQhrGqMQjnV5ZPgVzZKZZGVQ1LBOOZfEJ2XacSqeCyWEqnRryFpWRpfGXiX7EOY7HaePwD' + 
	'AQQhKAaEwZlCahyDKDBjm4a5JAiG5jgyDYhCKDZukYSAYgsLAzh0RBlBqBAkA4Ox+n+H5AAGDJWDWH5jFmdBQl8Z5yAGAZfngDZ6H9HIiACAhUCgMgPgSYAYA4EoDiEW' + 
	'BGBiAxhAIXAADITRzGIIA2AyAxYleCJhGiFgnggYg4iIEYImKKIqC6B4iliMg2DYIRolYIoLA2ExmDmDwNhiNg9g+Y44goPYMmGeJeEKD4hBMMJbDaTIYnYTg2mUOBaF' + 
	'OFZknkVhNhYZZJFIT4ViWWRElmFohmkYhehQJA4ESTg3A2WYuG2GwmmgWhuhyZwJjIcodGaeZmGANpnEMdhkAAJ5ZE4cYaieCZ2HeHhoGoEoIh4IRjESXg3iialFiQaJ' + 
	'aE6Fokg2ahWhiJBpEgRociWaZYHqH4mmiehqiOKBAAqDJUDgTgaiyYYFiqapGiyK4rAqTosiQa14jKKxrGqPo6i8a46laPIwmuGB6juMBrnsEo9jCLB6jKTIwCyawmk2' + 
	'L4sGsQpDjObIrFAAA2E4U4WlyN4tlsfgWjebhLgaXY4waApqjoLorhSZY7C6a4KBGPBuhuQppjyIZrlKa48m8e5WBENwOHOIyNDAHAOBaQJwgwFwBgWDZziSaZCHAQ4j' + 
	'AeQoxBwGp/kUMQME8FZFDGLBDBaB4xmwcwXkacQcDMDpDE6HIjCiSYyhyHwuDocpMisL5MHKfIuBGTIylyZgWDgToziyYg7A6TJ8myTwO7KPZRDQLQTEYOp0g0AxKgQd' + 
	'BNDcQ5PHSPRHEeVQ1A0XxMlaNRdGsT4Hg4Q44m2WB2D2CxkgWNhNicZpYjaDYvGWW52l2PxqDsdz+meBBOGOIEcAdAPAnEcPIPAbx4C2H+MEd4XAHDxGEPEDgBh6jBDi' + 
	'DwEI4QFhvEOI8EYyR3i8EMPsZQcguCsBGMwOQMApj5GYEAPg8RtAADoDAFY9xpiAAQAggIA=');
	end;
	Calendar.Selection := '6/27/2012';
	StatusEventColor := $2000000;
	BodyEventBackColor := $4000000;
	Background[EXSCHEDULELib_TLB.exScheduleCreateEventBackColor] := $1000000;
	Background[EXSCHEDULELib_TLB.exScheduleUpdateEventsBackColor] := $1000000;
	StatusEventSize := 6;
	DefaultEventPadding[EXSCHEDULELib_TLB.exPaddingAll] := 2;
	with Events do
	begin
		Add('6/27/2012 11:00:00 AM','6/27/2012 12:30:00 PM').BodyBackColor := $ff;
		with Add('6/27/2012 11:30:00 AM','6/27/2012 1:30:00 PM') do
		begin
			BodyBackColor := $ff00;
			StatusColor := $800000;
			ExtraLabel := 'Point';
		end;
		with Add('6/27/2012 8:30:00 AM','6/27/2012 11:45:00 AM') do
		begin
			StatusColor := $ff00ff;
		end;
	end;
	EndUpdate();
end
190
Does your control support subscript or superscript, in HTML captions

with Schedule1 do
begin
	BodyEventBackColor := RGB(240,240,240);
	Calendar.Selection := '6/20/2012';
	with Events do
	begin
		Add('6/20/2012 9:00:00 AM','6/20/2012 11:00:00 AM').ExtraLabel := '<sha ;;0>Event <b><font ;6><off 4>1';
		Add('6/20/2012 11:00:00 AM','6/20/2012 1:00:00 PM').ExtraLabel := '<sha ;;0>Event <b><font ;6><off 4>2';
		Add('6/20/2012 1:00:00 PM','6/20/2012 3:00:00 PM').ExtraLabel := '<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1';
	end;
end
189
How can I hide the scheduler part of the control, so I can use the calendar panel only

with Schedule1 do
begin
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exHideSplitter) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
end
188
I see how I can specify a non-working day pattern for weekends, but how can I specify non-working days for holidays

with Schedule1 do
begin
	with Calendar do
	begin
		SelectDate['5/28/2012'] := True;
		Select(EXSCHEDULELib_TLB.exSelectWeek);
		SelectDate['6/5/2012'] := False;
		Select(Integer(EXSCHEDULELib_TLB.exSelectToggle) Or Integer(EXSCHEDULELib_TLB.exSelectWeek));
		SelectDate['6/12/2012'] := False;
		Select(Integer(EXSCHEDULELib_TLB.exSelectToggle) Or Integer(EXSCHEDULELib_TLB.exSelectWeek));
	end;
	with NonworkingTimes do
	begin
		Add('month(value) = 5','00:00','24:00',-1);
		Add('value in (#6/5/2012#,#6/7/2012#)','00:00','24:00',-1);
	end;
end
187
How do I enable the scrollbar-extension, as thumb to be shown outside of the control's client area

with Schedule1 do
begin
	BeginUpdate();
	ScrollBars := EXSCHEDULELib_TLB.exDisableBoth;
	ScrollPartVisible[EXSCHEDULELib_TLB.exVScroll,EXSCHEDULELib_TLB.exExtentThumbPart] := True;
	ScrollPartVisible[EXSCHEDULELib_TLB.exHScroll,EXSCHEDULELib_TLB.exExtentThumbPart] := True;
	ScrollPartVisible[EXSCHEDULELib_TLB.ScrollBarEnum($2),EXSCHEDULELib_TLB.exExtentThumbPart] := True;
	ScrollWidth := 4;
	Background[EXSCHEDULELib_TLB.exVSBack] := $f0f0f0;
	Background[EXSCHEDULELib_TLB.exVSThumb] := $808080;
	ScrollHeight := 4;
	Background[EXSCHEDULELib_TLB.exHSBack] := Background[EXSCHEDULELib_TLB.exVSBack];
	Background[EXSCHEDULELib_TLB.exHSThumb] := Background[EXSCHEDULELib_TLB.exVSThumb];
	Background[EXSCHEDULELib_TLB.exScrollSizeGrip] := Background[EXSCHEDULELib_TLB.exVSBack];
	EndUpdate();
end
186
How can I show contiguously the days, in a single row

with Schedule1 do
begin
	with Calendar do
	begin
		SelectDate['5/20/2012'] := True;
		Select(EXSCHEDULELib_TLB.exSelectWeek);
		SelectDate['5/27/2012'] := False;
		Select(Integer(EXSCHEDULELib_TLB.exSelectToggle) Or Integer(EXSCHEDULELib_TLB.exSelectWeek));
	end;
	ShowViewCompact := EXSCHEDULELib_TLB.exViewSingleRow;
end
185
How can I show contiguously the days

with Schedule1 do
begin
	with Calendar do
	begin
		SelectDate['5/20/2012'] := True;
		Select(EXSCHEDULELib_TLB.exSelectWeek);
		SelectDate['5/27/2012'] := False;
		Select(Integer(EXSCHEDULELib_TLB.exSelectToggle) Or Integer(EXSCHEDULELib_TLB.exSelectWeek));
	end;
	ShowViewCompact := EXSCHEDULELib_TLB.exViewCalendarCompact;
end
184
How can I display the time in european format with no usage of AM/PM

with Schedule1 do
begin
	with TimeScales.Item[OleVariant(0)] do
	begin
		MajorTimeLabel := '<%hh%>:<%nn%>';
		Width := 32;
	end;
	with Calendar do
	begin
		Selection := '6/11/2001';
		ShortTimeFormat := '<%h%>:<%nn%>';
	end;
	with Events do
	begin
		Add('6/11/2001 10:00:00 AM','6/11/2001 1:15:00 PM');
		Add('6/11/2001 10:30:00 AM','6/11/2001 2:30:00 PM');
	end;
end
183
Is it possible to zoom the schedule component using a key and scrolling the wheel (not pressing it and moving the mouse)
with Schedule1 do
begin
	AllowResizeSchedule := Integer(EXSCHEDULELib_TLB.exCTRLKey) Or Integer(EXSCHEDULELib_TLB.exMiddleClick);
	AllowMoveSchedule := EXSCHEDULELib_TLB.exMiddleClick;
end
182
How can I change the format of the date being displayed in the calendar panel

with Schedule1 do
begin
	Calendar.HeaderDayLabel := '<sha><%mmmm%></sha> <sha><fgcolor=FF0000><%yyyy%></fgcolor></sha>';
end
181
How can I display the Year in Thai, Buddhist, Korean format

with Schedule1 do
begin
	with Calendar do
	begin
		FirstWeekDay := LocFirstWeekDay;
		MonthNames := LocMonthNames;
		WeekDays := LocWeekDays;
		AMPM := LocAMPM;
		HeaderDayLabel := '<%mmmm%> <fgcolor=FF0000><%loc_yyyy%>';
	end;
	HeaderDayLongLabel := '<|><%dddd%>, <%mmmm%> <%d%>, <fgcolor=FF0000><%loc_yyyy%><|><%dddd%>,<%mmmm%> <%d%>,<fgcolor=FF0000><%loc_yyyy%><|><%dddd%>, <%m' + 
	'mmm%> <%d%>,`<fgcolor=FF0000><%loc_yy%><|><%dddd%>, <%mmmm%> <%d%><|><%dddd%>, <%m3%> <%d%><|><%dddd%>, <%d%><|><%dddd%><|><%d3%' + 
	'><|><%d2%><|><%d1%>';
end
180
May I specify a fixed width for my dates, so user can not resize it
with Schedule1 do
begin
	BeginUpdate();
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exChangePanels) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	AllowResizeSchedule := EXSCHEDULELib_TLB.exDisallow;
	AllowMoveSchedule := EXSCHEDULELib_TLB.exMiddleClick;
	ShowViewCompact := EXSCHEDULELib_TLB.exViewCalendarCompact;
	DayViewWidth := 96;
	DayViewHeight := 256;
	EndUpdate();
end
179
How can I change the format of date being displayed on the header
with Schedule1 do
begin
	HeaderDayLongLabel := '<|><%dddd%>, <%d%> <%mmmm%>, <%yyyy%><|><%dddd%>, <%d%> <%mmmm%>, <%yyyy%><|><%dddd%>, <%d%> <%mmmm%>,`<%yy%><|><%dddd%>, <%d%> ' + 
	'<%mmmm%><|><%dddd%>, <%d%> <%m3%><|><%dddd%>, <%d%><|><%dddd%><|><%d3%><|><%d2%><|><%d1%>';
end
178
Is there any notifications for exchanging the panels at runtime
// LayoutEndChanging event - Notifies your application once the control's layout has been changed.
procedure TForm1.Schedule1LayoutEndChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'End exLayoutExchangePanels(16)' );
		OutputDebugString( Operation );
	end
end;

// LayoutStartChanging event - Occurs when the control's layout is about to be changed.
procedure TForm1.Schedule1LayoutStartChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'Start exLayoutExchangePanels(16)' );
		OutputDebugString( Operation );
	end
end;

with Schedule1 do
begin
	AllowExchangePanels := EXSCHEDULELib_TLB.exLeftClick;
	AllowCreateEvent := EXSCHEDULELib_TLB.exDisallow;
end
177
How can I handle the All-Day events only

with Schedule1 do
begin
	BeginUpdate();
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit);
	ShowAllDayHeader := True;
	with Calendar do
	begin
		SelectDate['5/8/2012'] := True;
		Select(EXSCHEDULELib_TLB.exSelectWeek);
		SelectDate['5/15/2012'] := False;
		Select(Integer(EXSCHEDULELib_TLB.exSelectToggle) Or Integer(EXSCHEDULELib_TLB.exSelectWeek));
	end;
	TimeScales.Item[OleVariant(0)].Visible := False;
	Events.Add('5/8/2012','5/17/2012').AllDayEvent := True;
	EndUpdate();
end
176
Is it possible to show the All-Day events with EBN including the next/prev signs (2)

with Schedule1 do
begin
	BeginUpdate();
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit);
	ShowAllDayHeader := True;
	with Calendar do
	begin
		SelectDate['5/8/2012'] := True;
		Select(EXSCHEDULELib_TLB.exSelectWeek);
		SelectDate['5/15/2012'] := False;
		Select(Integer(EXSCHEDULELib_TLB.exSelectToggle) Or Integer(EXSCHEDULELib_TLB.exSelectWeek));
	end;
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAEGg4BbkMQAAYAQGKIYBkAKBQAGaAoDDcOILQiMQzjTBMKgBBCLIxiGK4DhiF4aRSBMIwYAAYhyG4BIRGcYJEDMOQzR4MICSBKkMhlDiPY5mUAJEi' + 
	'SJg3TDQlzpAoSGoeUhGTZnQaQASXJqKZ6kegoEh4MopTTHQLRUB8EyTDKnaapSJpEDINQlWTZciDKKFUQTNi3KxraKqbjqO47VJKEpSZBMXRhBIYZCueZZXgPBY5YhIE' + 
	'64BSeASoACDZzoaAwTrOAwUZZFVg2DSOGSBRzQMKrCZKagnFYDVzleYxLjdR47Qy1Ih2GA7QqubYkUTmOjgBaoAYxQaaLx0OS5Rj4NAwZLFXI1eAGd6BDLhLz4XAOHxH' + 
	'jmAZvGOWoeG8PhBiMGIMGOQxZCQOBpGUG4NncEIdB8MxLhSbpRnMIIIEkQJSGMOgdE4RhfAwJZtAwEIEleeQZA2EIQiECR2ludB8BgRYMAeKYDByB4DG5F4hBgTgWgUY' + 
	'YIFIGoFmGOBlAmBJMmMQJwggYg4goJIJmIaImCWCpigiLgTgeYQYjYMoKiMOIyDSCIinQDggg2YxonYNYNGOEACDuD4jkifhFg4IQYkCW4RiQSQ2ECEhjiiRhHhOJQ4j' + 
	'YQYQmSSRmFOFZlCkUhehMJZJC4VYYmWaYGFqF5ljkQhChcZh5jYKoZiYSY6D2HAmgmVhWhqJYJkYeoLieCYyHuHInEmSoAh8Zgplof4SA2OQqgKIZPAmBgciOYYaEIHY' + 
	'kmQFAEIC');
	VisualAppearance.Add(2,'gBFLBCJwBAEHhEJAEGg4BVMIQAAYAQGKIYBkAKBQAGaAoDDYMwzQwAAxjOK0EwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBSFDcOwHGyQYDkCQpEh' + 
	'yKo+CTIAySXJsdw3IyNAIhEB4fgmM4DP7UIAVC78aRABCESgNEwzULUchlDDICJQSQRGzHDSKYDFCCaKgOTI6kgicpJUt6PBtaovKoWOZBcJ3Xjed6vBgeASpQbEL6wD' + 
	'CbfrjB6KY5eeDXXSkAkB');
	VisualAppearance.Add(3,'gBFLBCJwBAEHhEJAEGg4BVUIQAAYAQGKIYBkAKBQAGaAoDDYMwzQwAAxjOK0EwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBSFDcOwHGyQYDkCQpEh' + 
	'yKo+CTIAySXJsZxpHKaAIhEB4fgmRgAP7UNQVFLkEgRBIoDRMM5DVLIZQxSAiUIkERtRQ1CqBRQhGioDoyOgABhFZSUPKlIztO45DwbO56RrlWzONA8FzXdgDYYLQjAc' + 
	'JwXA7awrAZ8P7iGBZBbtdQCgIA==');
	BodyEventBackColor := $1000000;
	Background[EXSCHEDULELib_TLB.exScheduleEventContinueNextWeek] := $2000000;
	Background[EXSCHEDULELib_TLB.exScheduleEventContinuePrevWeek] := $3000000;
	HeaderAllDayEventHeight := -14;
	Events.Add('5/8/2012','5/17/2012').AllDayEvent := True;
	EndUpdate();
end
175
How can I select programatically two weeks

with Schedule1 do
begin
	with Calendar do
	begin
		SelectDate['5/8/2012'] := True;
		Select(EXSCHEDULELib_TLB.exSelectWeek);
		SelectDate['5/15/2012'] := False;
		Select(Integer(EXSCHEDULELib_TLB.exSelectToggle) Or Integer(EXSCHEDULELib_TLB.exSelectWeek));
	end;
end
174
Is it possible to show the All-Day events with EBN including the next/prev signs (1)

with Schedule1 do
begin
	BeginUpdate();
	OnResizeControl := EXSCHEDULELib_TLB.exCalendarAutoHide;
	ShowAllDayHeader := True;
	with Calendar do
	begin
		FirstWeekDay := EXSCHEDULELib_TLB.exMonday;
		SelectDate['5/8/2012'] := True;
		Select(EXSCHEDULELib_TLB.exSelectWeek);
		SelectDate['5/15/2012'] := False;
		Select(Integer(EXSCHEDULELib_TLB.exSelectToggle) Or Integer(EXSCHEDULELib_TLB.exSelectWeek));
	end;
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAEGg4BbkMQAAYAQGKIYBkAKBQAGaAoDDcOILQiMQzjTBMKgBBCLIxiGK4DhiF4aRSBMIwYAAYhyG4BIRGcYJEDMOQzR4MICSBKkMhlDiPY5mUAJEi' + 
	'SJg3TDQlzpAoSGoeUhGTZnQaQASXJqKZ6kegoEh4MopTTHQLRUB8EyTDKnaapSJpEDINQlWTZciDKKFUQTNi3KxraKqbjqO47VJKEpSZBMXRhBIYZCueZZXgPBY5YhIE' + 
	'64BSeASoACDZzoaAwTrOAwUZZFVg2DSOGSBRzQMKrCZKagnFYDVzleYxLjdR47Qy1Ih2GA7QqubYkUTmOjgBaoAYxQaaLx0OS5Rj4NAwZLFXI1eAGd6BDLhLz4XAOHxH' + 
	'jmAZvGOWoeG8PhBiMGIMGOQxZCQOBpGUG4NncEIdB8MxLhSbpRnMIIIEkQJSGMOgdE4RhfAwJZtAwEIEleeQZA2EIQiECR2ludB8BgRYMAeKYDByB4DG5F4hBgTgWgUY' + 
	'YIFIGoFmGOBlAmBJMmMQJwggYg4goJIJmIaImCWCpigiLgTgeYQYjYMoKiMOIyDSCIinQDggg2YxonYNYNGOEACDuD4jkifhFg4IQYkCW4RiQSQ2ECEhjiiRhHhOJQ4j' + 
	'YQYQmSSRmFOFZlCkUhehMJZJC4VYYmWaYGFqF5ljkQhChcZh5jYKoZiYSY6D2HAmgmVhWhqJYJkYeoLieCYyHuHInEmSoAh8Zgplof4SA2OQqgKIZPAmBgciOYYaEIHY' + 
	'kmQFAEIC');
	VisualAppearance.Add(2,'gBFLBCJwBAEHhEJAEGg4BKMMQAAYAQGKIYBkAKBQAGaAoDDUNgwQwAAxDGKkEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBSFDcOwHGyQYDkCQpEh' + 
	'yKo+CTIA4SXJsdxpI4EIRCSL6MgNf5PABTb7zTSgYANF6WRZgWgpTjcMJHTpYFIwHRdQwHLqoagqKZJAqMABQGiYZyHKcwMYgBZXJBEbbMNBtBIUIRtaxZBBiFzgUZYE' + 
	'BnEbDN4YbapMhyLI2OZBcCOJQ4SCoW4GJ49J7KXgYZiHOLcfjcLovLq5fiOQ5CV5ZXROM6sQyzIKWaCzLL5PjKHInWrPNa3DJtDyXJzUNY9GScG6HBLhWB0czzXIuO4d' + 
	'jqXg4jUOo9j8N4Zk6YoeA+bZKhcV49kyaAllODhPC8d5bi+WJ6H0fhvHcExIHgQB4nuHpOj4Y4zioeQfDePZRGcHI3lGIh9h4JwhkodQckecY9G+WpHDmUAdAeNwCBEf' + 
	'RcGaIZ/G2D52gWfR0iGRhFg8Y5iBYTQBICA=');
	VisualAppearance.Add(3,'gBFLBCJwBAEHhEJAEGg4BgsHQAAYAQGKIYBkAKBQAGaAoDDUNgwQwAAxDGKkEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBSFDcOwHGyQYDkCQpEh' + 
	'yKo+CTIA4SXJsZxpI6EQQhEJIfo2Az/VAAFQPfLNKhgAyXZZFWBaCoaEgwUhVMhUVAdGR1BKvKjqKoZcomCRQGiYZyHKcwMYgBZRRBEbbMNBtBIULasWjQYhdYI7WDTd' + 
	'R4XhmGDkPBtcbbPDcUpBBSLOAjSSOExzILhSrFVyXVzTXL5XDGMg7Wa5foFIDmPRtVbWNydLyvICOJK2eZOExrHrhWrPMZaRpnUyXJ6pcBvfA4Zi7QZlWjPOR2aoNCZb' + 
	'juXpyjsPIahmYJ/keVR0HwPYsnIXQ4mSZ50jwXIfC+HxnmmcZ2HuCAOn+P43lSUZ1neXxeF4L4bmgeoeCcCZEHcXxIAGLBlBuBpphsdgfGaNB0B6WwXjoARrE+dxVkYa' + 
	'geAgHgUD+XJWm2U4GliNhJhIQBAICA==');
	BodyEventBackColor := $1000000;
	Background[EXSCHEDULELib_TLB.exScheduleEventContinueNextWeek] := $2000000;
	Background[EXSCHEDULELib_TLB.exScheduleEventContinuePrevWeek] := $3000000;
	HeaderAllDayEventHeight := -20;
	Events.Add('5/8/2012','5/17/2012').AllDayEvent := True;
	EndUpdate();
end
173
Can I make it zoom in using CTRL-MouseWheel instead of using the middle button
with Schedule1 do
begin
	AllowResizeSchedule := Integer(EXSCHEDULELib_TLB.exCTRLKey) Or Integer(EXSCHEDULELib_TLB.exMiddleClick);
end
172
It is by default not possible, to simply scroll the component with the mouse wheel. How do I make it so
with Schedule1 do
begin
	AllowMoveSchedule := EXSCHEDULELib_TLB.exMiddleClick;
end
171
Can I get and set the width of the time bar
with Schedule1 do
begin
	TimeScales.Item[OleVariant(0)].Width := 48;
end
170
How do I select the current year

with Schedule1 do
begin
	ShowViewCompact := EXSCHEDULELib_TLB.exViewCalendarCompact;
	OnResizeControl := EXSCHEDULELib_TLB.exCalendarAutoHide;
	Calendar.Select(EXSCHEDULELib_TLB.exSelectYear);
end
169
How do I select the current week day

with Schedule1 do
begin
	ShowViewCompact := EXSCHEDULELib_TLB.exViewCalendarCompact;
	Calendar.Select(EXSCHEDULELib_TLB.exSelectWeekDay);
end
168
How do I select the current week

with Schedule1 do
begin
	ShowViewCompact := EXSCHEDULELib_TLB.exViewCalendarCompact;
	Calendar.Select(EXSCHEDULELib_TLB.exSelectWeek);
end
167
How can I restore the layout of the panels, when user changes the width and the alignment of the panels
// LayoutEndChanging event - Notifies your application once the control's layout has been changed.
procedure TForm1.Schedule1LayoutEndChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'End Operation ' );
		OutputDebugString( Operation );
		OutputDebugString( 'Layout ' );
		OutputDebugString( OnResizeControl );
		OutputDebugString( 'PaneWidth(False)' );
		OutputDebugString( PaneWidth[False] );
	end
end;

// LayoutStartChanging event - Occurs when the control's layout is about to be changed.
procedure TForm1.Schedule1LayoutStartChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'Start Operation ' );
		OutputDebugString( Operation );
		OutputDebugString( 'Layout ' );
		OutputDebugString( OnResizeControl );
		OutputDebugString( 'PaneWidth(False)' );
		OutputDebugString( PaneWidth[False] );
	end
end;

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.Schedule1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'Layout ' );
		OutputDebugString( OnResizeControl );
		OutputDebugString( 'PaneWidth(False)' );
		OutputDebugString( PaneWidth[False] );
	end
end;


166
Is it possibly to set the column width of the group/person using the api

with Schedule1 do
begin
	BeginUpdate();
	Calendar.Selection := '1/10/2001';
	DisplayGroupingButton := True;
	ShowGroupingEvents := True;
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	with Groups do
	begin
		with Add(1,'Group 1') do
		begin
			Title := 'First';
			Visible := True;
		end;
		with Add(2,'Group 2') do
		begin
			Title := 'Second';
			Visible := True;
		end;
	end;
	with Events do
	begin
		Add('1/10/2001 9:00:00 AM','1/10/2001 12:30:00 PM').GroupID := 1;
		Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM').GroupID := 2;
	end;
	Groups.Item[OleVariant(1)].Width := 24;
	EndUpdate();
end
165
When viewing the schedule by week or month and the month ends during the week (July 31, Tuesday -> August 1, Wednesday), the days continue down as a new week 'row'. When there is a change in month, is it possible to still show the full week without that break (compact)

with Schedule1 do
begin
	BeginUpdate();
	OnResizeControl := EXSCHEDULELib_TLB.exCalendarAutoHide;
	with Calendar do
	begin
		Selection := '5/23/2012';
		Selection := 'month(value) in (5,6)';
	end;
	ShowViewCompact := EXSCHEDULELib_TLB.exViewCalendarCompact;
	EndUpdate();
end
164
I want to change the default event tooltip. How can I do that

with Schedule1 do
begin
	DefaultEventTooltip := '<b>BEGIN:</b> <%=%1%><br><b>END:</b>: <%=%2%><br><b>LENGTH:</b> <%=((1:=int(0:= (date(%2)-date(%1)))) != 0 ? (=:1 + '' day(s)'') :' + 
	' '''') + (=:1 ? '' '' : '''' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + '' hour(s)'' : '''' ) + (=:1 ? '' '' : '''' ) + ((' + 
	'1:=round((=:0 - =:1)*60)) != 0 ? =:1 + '' min(s)'' : '''')%>';
end
163
How can I select the entire week for a specified date

with Schedule1 do
begin
	BeginUpdate();
	with Calendar do
	begin
		NonworkingDays := 0;
		ShowNonMonthDays := False;
		FirstWeekDay := EXSCHEDULELib_TLB.exSunday;
		Selection := '3/5/2012';
		Selection := '(int((yearday(value) -1- ((7-weekday(value - yearday(value) + 1)) mod 7) )/7) = int((yearday(#3/5/2012#)-1)/7))';
	end;
	BorderSelStyle := EXSCHEDULELib_TLB.exNoLines;
	Background[EXSCHEDULELib_TLB.exScheduleMarkTodayBackColor] := $f0f0f0;
	EndUpdate();
end
162
I have noticed that I can drag bars from All-Day header to time-zone and reverse. Is it possible to prevent that

with Schedule1 do
begin
	BeginUpdate();
	OnResizeControl := EXSCHEDULELib_TLB.exCalendarAutoHide;
	ShowAllDayHeader := True;
	AllowUpdateAllDayFlag := False;
	Calendar.Selection := '5/23/2012';
	Calendar.Selection := 'value in (#5/23/2012#,#5/24/2012#,#5/25/2012#)';
	with Events do
	begin
		Add('5/24/2012 10:00:00 AM','5/24/2012 12:00:00 PM').ExtraLabel := '<sha>dentist';
		Add('5/24/2012','5/25/2012').AllDayEvent := True;
		Add('5/23/2012','5/24/2012').AllDayEvent := True;
	end;
	SelectEventStyle := EXSCHEDULELib_TLB.exNoLines;
	ShowSelectEvent := False;
	EndUpdate();
end
161
When an all-day event stretches over multiple days (ex. Monday thru Friday), is it possible to have that display as a continuous bar across those days instead of separate bars on each day

with Schedule1 do
begin
	BeginUpdate();
	OnResizeControl := EXSCHEDULELib_TLB.exCalendarAutoHide;
	ShowAllDayHeader := True;
	Calendar.Selection := '5/23/2012';
	Calendar.Selection := 'value in (#5/23/2012#,#5/24/2012#,#5/25/2012#)';
	with Events do
	begin
		Add('5/24/2012 10:00:00 AM','5/24/2012 12:00:00 PM').ExtraLabel := '<sha>dentist';
		Add('5/24/2012','5/25/2012').AllDayEvent := True;
		Add('5/23/2012','5/24/2012').AllDayEvent := True;
	end;
	SelectEventStyle := EXSCHEDULELib_TLB.exNoLines;
	ShowSelectEvent := False;
	EndUpdate();
end
160
If I double click to a scheduled event and enter text, how can I read this newly entered text (i.e. what is its corresponding field)

// LayoutEndChanging event - Notifies your application once the control's layout has been changed.
procedure TForm1.Schedule1LayoutEndChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( EventFromPoint[-1,-1] );
	end
end;

with Schedule1 do
begin
	BeginUpdate();
	Calendar.Selection := '5/24/2012';
	with Events do
	begin
		Add('5/24/2012 10:00:00 AM','5/24/2012 12:00:00 PM').ExtraLabel := 'editable';
	end;
	SelectEventStyle := EXSCHEDULELib_TLB.exNoLines;
	ShowSelectEvent := False;
	EndUpdate();
end
159
Is it possible to show the date's header with a shadow

with Schedule1 do
begin
	HeaderDayLongLabel := '<sha><%dddd%>, <%mmmm%> <%d%>, <%yyyy%>';
	Calendar.OnSelectDate := EXSCHEDULELib_TLB.exEnsureVisibleDate;
	AllowResizeSchedule := EXSCHEDULELib_TLB.exDisallow;
end
158
We need to highlight a day for example no booking/disabling for that day, is the timezone good choice (method 3)

with Schedule1 do
begin
	with Calendar do
	begin
		Selection := '6/27/2012';
		Selection := 'value in (#6/26/2012#,#6/27/2012#,#6/28/2012#)';
	end;
	AllowMultiDaysEvent := False;
	NonworkingPatterns.Add(1,EXSCHEDULELib_TLB.exPatternSolid).Pattern.Color := $f0f0f0;
	NonworkingTimes.Add('value in (#6/27/2012#)','00:00','24:00',1);
	ShowNonworkingTime := EXSCHEDULELib_TLB.exShowNonworkingTimeBack;
	Calendar.DisableZoneFormat := 'value in (#6/27/2012#)';
end
157
We need to highlight a day for example no booking for that day, is the timezone good choice (method 2)

with Schedule1 do
begin
	with Calendar do
	begin
		Selection := '6/27/2012';
		Selection := 'value in (#6/26/2012#,#6/27/2012#,#6/28/2012#)';
	end;
	NonworkingPatterns.Add(1,EXSCHEDULELib_TLB.exPatternSolid).Pattern.Color := $f0f0f0;
	NonworkingTimes.Add('value in (#6/27/2012#)','00:00','24:00',1);
	ShowNonworkingTime := EXSCHEDULELib_TLB.exShowNonworkingTimeBack;
end
156
We need to highlight a day for example no booking for that day, is the timezone good choice (method 1)

with Schedule1 do
begin
	with Calendar do
	begin
		Selection := '6/27/2012';
		Selection := 'value in (#6/26/2012#,#6/27/2012#,#6/28/2012#)';
	end;
	with MarkZones.Add('zone','6/27/2012','6/28/2012') do
	begin
		BackColor := $f0f0f0;
		Pattern.Type := EXSCHEDULELib_TLB.exPatternEmpty;
	end;
	ShowMarkZone := EXSCHEDULELib_TLB.exShowMarkZonesBack;
end
155
Is is possible to change the background color for a specific day

with Schedule1 do
begin
	with Calendar do
	begin
		Selection := '6/27/2012';
		Selection := 'value in (#6/26/2012#,#6/27/2012#,#6/28/2012#)';
	end;
	with MarkZones.Add('zone','6/27/2012','6/28/2012') do
	begin
		BackColor := $f0f0f0;
		Pattern.Type := EXSCHEDULELib_TLB.exPatternEmpty;
	end;
	ShowMarkZone := EXSCHEDULELib_TLB.exShowMarkZonesBack;
end
154
I want to know how can I call a user define form when editing a time slot
// LayoutEndChanging event - Notifies your application once the control's layout has been changed.
procedure TForm1.Schedule1LayoutEndChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'End exScheduleResize(5)' );
		OutputDebugString( Operation );
	end
end;

// LayoutStartChanging event - Occurs when the control's layout is about to be changed.
procedure TForm1.Schedule1LayoutStartChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'Start exScheduleResize(5)' );
		OutputDebugString( Operation );
	end
end;

with Schedule1 do
begin
	with Calendar do
	begin
		SingleSel := True;
		OnSelectDate := EXSCHEDULELib_TLB.exEnsureVisibleDate;
	end;
	ClipToSel := True;
	AllowMoveSchedule := EXSCHEDULELib_TLB.exDisallow;
	AllowMoveGroup := EXSCHEDULELib_TLB.exDisallow;
	AllowResizeSchedule := EXSCHEDULELib_TLB.exLeftClick;
	AllowCreateEvent := EXSCHEDULELib_TLB.exDisallow;
end
153
Can we lock the scroll bars so that it only scrolls within the selected date

with Schedule1 do
begin
	with Calendar do
	begin
		Selection := '6/1/2001';
		Selection := 'value in (#6/11/2001#,#6/12/2001#)';
		SingleSel := True;
		OnSelectDate := EXSCHEDULELib_TLB.exEnsureVisibleDate;
	end;
	ClipToSel := True;
	DayViewWidth := -1;
	DayViewHeight := 512;
	with Events do
	begin
		Add('6/11/2001 10:00:00 AM','6/11/2001 1:00:00 PM');
		Add('6/12/2001 10:00:00 AM','6/12/2001 1:00:00 PM');
	end;
end
152
Is it possible to specify the dates to be printed to a single page

with Schedule1 do
begin
	with Calendar do
	begin
		Selection := '6/1/2001';
		Selection := 'value in (#6/11/2001#,#6/12/2001#)';
	end;
	DayViewWidth := 116;
	DayViewHeight := 116;
	with Events do
	begin
		Add('6/11/2001 10:00:00 AM','6/11/2001 1:00:00 PM');
		Add('6/12/2001 10:00:00 AM','6/12/2001 1:00:00 PM');
	end;
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.Print'))) as EXPRINTLib_TLB.Print) do
	begin
		Options := 'Range=month(value)=6;FitToPage=On';
		PrintExt := (IUnknown(Schedule1.DefaultInterface) as EXSCHEDULELib_TLB.Schedule);
		Preview();
	end;
end
151
Is it possible to specify the dates to be printed

with Schedule1 do
begin
	with Calendar do
	begin
		Selection := '6/1/2001';
		Selection := 'value in (#6/11/2001#,#6/12/2001#)';
	end;
	DayViewWidth := 116;
	DayViewHeight := 116;
	with Events do
	begin
		Add('6/11/2001 10:00:00 AM','6/11/2001 1:00:00 PM');
		Add('6/12/2001 10:00:00 AM','6/12/2001 1:00:00 PM');
	end;
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.Print'))) as EXPRINTLib_TLB.Print) do
	begin
		Options := 'Range=month(value)=6';
		PrintExt := (IUnknown(Schedule1.DefaultInterface) as EXSCHEDULELib_TLB.Schedule);
		Preview();
	end;
end
150
Does your control support Fit-To-Page, while printing

with Schedule1 do
begin
	with Calendar do
	begin
		Selection := '6/1/2001';
		Selection := 'value in (#6/11/2001#,#6/12/2001#)';
	end;
	DayViewWidth := 512;
	DayViewHeight := 512;
	with Events do
	begin
		Add('6/11/2001 10:00:00 AM','6/11/2001 1:00:00 PM');
		Add('6/12/2001 10:00:00 AM','6/12/2001 1:00:00 PM');
	end;
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.Print'))) as EXPRINTLib_TLB.Print) do
	begin
		Options := 'FitToPage=On';
		PrintExt := (IUnknown(Schedule1.DefaultInterface) as EXSCHEDULELib_TLB.Schedule);
		Preview();
	end;
end
149
Does your control support Print and Print-Preview

with Schedule1 do
begin
	with Calendar do
	begin
		Selection := '6/1/2001';
		Selection := 'value in (#6/11/2001#,#6/12/2001#)';
	end;
	DayViewWidth := 512;
	DayViewHeight := 512;
	with Events do
	begin
		Add('6/11/2001 10:00:00 AM','6/11/2001 1:00:00 PM');
		Add('6/12/2001 10:00:00 AM','6/12/2001 1:00:00 PM');
	end;
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.Print'))) as EXPRINTLib_TLB.Print) do
	begin
		PrintExt := (IUnknown(Schedule1.DefaultInterface) as EXSCHEDULELib_TLB.Schedule);
		Preview();
	end;
end
148
How can I specify the height (time slot) of the day to be larger
with Schedule1 do
begin
	BeginUpdate();
	ClipToSel := True;
	DayViewHeight := 1024;
	DayViewWidth := -1;
	TimeScales.Item[OleVariant(0)].MinorTimeRuler := '00:05';
	EndUpdate();
end
147
How can I prevent resizing the schedule view, when a new date is selected
with Schedule1 do
begin
	with Calendar do
	begin
		OnSelectDate := EXSCHEDULELib_TLB.exEnsureVisibleDate;
		Selection := '1/10/2001';
		SingleSel := True;
	end;
	DayViewWidth := 48;
end
146
How do I get notified once the user moves an event
// UpdateEvent event - Notifies your application once the event changes the starting or ending margins.
procedure TForm1.Schedule1UpdateEvent(ASender: TObject; Ev : IEvent);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'UpdateEvent' );
		OutputDebugString( Ev );
	end
end;

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := '<%=%256%><br><%=%5%>';
	DefaultEventShortLabel := DefaultEventLongLabel;
	Calendar.Selection := '1/10/2001';
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	with Events do
	begin
		with Add('1/10/2001 9:00:00 AM','1/10/2001 12:30:00 PM') do
		begin
			Editable := EXSCHEDULELib_TLB.exEditCaption;
			Caption := 'your caption';
		end;
		with Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM') do
		begin
			Editable := EXSCHEDULELib_TLB.exEditCaption;
			Caption := 'other caption';
		end;
	end;
end
145
Can You give me an example for the event handler when a user double clicks an appointment
// DblClick event - Occurs when the user dblclk the left mouse button over an object.
procedure TForm1.Schedule1DblClick(ASender: TObject; Shift : Smallint;X : Integer;Y : Integer);
begin
	with Schedule1 do
	begin
		e := (IUnknown(EventFromPoint[-1,-1]) as _TLB.Object);
		OutputDebugString( 'Start:' );
		OutputDebugString( e );
		OutputDebugString( 'End:' );
		OutputDebugString( e );
	end
end;

with Schedule1 do
begin
	AllowEditEvent := EXSCHEDULELib_TLB.exDisallow;
	AllowToggleSchedule := EXSCHEDULELib_TLB.exDisallow;
	with Calendar do
	begin
		Selection := '6/1/2001';
		Selection := 'value in (#6/11/2001#,#6/12/2001#,#6/13/2001#)';
	end;
	with Events do
	begin
		Add('6/11/2001 10:00:00 AM','6/11/2001 1:00:00 PM');
		Add('6/12/2001 10:00:00 AM','6/12/2001 1:00:00 PM');
	end;
end
144
Nothing is shown in the schedule view, if I use the Selection property. What am I doing wrong

with Schedule1 do
begin
	with Calendar do
	begin
		Selection := '6/1/2001';
		Selection := 'value in (#6/11/2001#,#6/12/2001#,#6/13/2001#)';
	end;
end
143
Is it possible to lock a date/day, so no events can be created, moved, and so on

with Schedule1 do
begin
	with Calendar do
	begin
		Selection := '6/1/2001';
		Selection := 'value in (#6/11/2001#,#6/12/2001#,#6/13/2001#)';
		DisableZoneFormat := 'value = #6/12/2001#';
	end;
	with Events do
	begin
		Add('6/11/2001 10:00:00 AM','6/11/2001 1:00:00 PM');
		Add('6/12/2001 10:00:00 AM','6/12/2001 1:00:00 PM');
	end;
end
142
How can I show the grid lines for minor and major rules in the schedule view

with Schedule1 do
begin
	Background[EXSCHEDULELib_TLB.exScheduleMajorTimeScaleStyle] := $0;
	Background[EXSCHEDULELib_TLB.exScheduleMajorTimeRulerColor] := $c0c0c0;
	Background[EXSCHEDULELib_TLB.exScheduleTimeScaleMajorRulerStyle] := $0;
	Background[EXSCHEDULELib_TLB.exScheduleTimeScaleMajorRulerColor] := $c0c0c0;
	Background[EXSCHEDULELib_TLB.exScheduleMinorTimeScaleStyle] := $3;
	Background[EXSCHEDULELib_TLB.exScheduleTimeScaleMinorRulerStyle] := $3;
end
141
Is it possible to show the grid lines for minor rulers too in the schedule view

with Schedule1 do
begin
	Background[EXSCHEDULELib_TLB.exScheduleMinorTimeScaleStyle] := $3;
end
140
How can I change the style and colors to show the grid lines

with Schedule1 do
begin
	Background[EXSCHEDULELib_TLB.exScheduleMajorTimeScaleStyle] := $30;
	Background[EXSCHEDULELib_TLB.exScheduleMajorTimeRulerColor] := $ff;
	Background[EXSCHEDULELib_TLB.exScheduleTimeScaleMajorRulerStyle] := $3;
	Background[EXSCHEDULELib_TLB.exScheduleTimeScaleMajorRulerColor] := $ff;
end
139
How can I show a solid line rather than dot lines in the schedule view

with Schedule1 do
begin
	Background[EXSCHEDULELib_TLB.exScheduleMajorTimeScaleStyle] := $30;
	Background[EXSCHEDULELib_TLB.exScheduleMajorTimeRulerColor] := $0;
end
138
Is it possible to hide or change the lines in the schedule view

with Schedule1 do
begin
	Background[EXSCHEDULELib_TLB.exScheduleMajorTimeScaleStyle] := $ffffffff;
end
137
Is there a possiblity to lock an event, so it can't be moved or edited

with Schedule1 do
begin
	Calendar.Selection := '6/27/2012';
	with Events do
	begin
		with Add('6/27/2012 10:00:00 AM','6/27/2012 11:30:00 AM') do
		begin
			BodyPattern.Type := EXSCHEDULELib_TLB.exPatternBDiagonal;
			Movable := False;
			Resizable := EXSCHEDULELib_TLB.exNoResizable;
			Selectable := False;
			Editable := EXSCHEDULELib_TLB.exNoEditable;
			ExtraLabel := 'locked';
		end;
		Add('6/27/2012 1:30:00 PM','6/27/2012 3:30:00 PM');
	end;
end
136
Is it possible to load a PNG file on the control's background ( /com only )

with Schedule1 do
begin
	Template := 'Picture = LoadPicture(`c:\exontrol\images\card.png`)';
end
135
What is the Event.UserData property used for

with Schedule1 do
begin
	Calendar.Selection := '6/27/2012';
	DefaultEventTooltip := 'Start: <%=%1%><br>End: <%=%2%><br>Duration: <%=((1:=int(0:= (date(%2)-date(%1)))) != 0 ? (=:1 + '' day(s)'') : '''') + (=:1 ? '' '' : ' + 
	''''' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + '' hour(s)'' : '''' ) + (=:1 ? '' '' : '''' ) + ((1:=round((=:0 - =:1)' + 
	'*60)) != 0 ? =:1 + '' min(s)'' : '''')%><b><%=(len(%6) ? `<br>UserData: `+ %6 : ``)%></b>';
	with Events do
	begin
		Add('6/27/2012 11:00:00 AM','6/27/2012 12:30:00 PM').UserData := 'Any extra data associated with the event';
		Add('6/27/2012 11:30:00 AM','6/27/2012 1:30:00 PM');
	end;
end
134
Is there also an event for when a user selects another month in the date-picker control
// LayoutEndChanging event - Notifies your application once the control's layout has been changed.
procedure TForm1.Schedule1LayoutEndChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'End exCalendarDateChange(3)' );
		OutputDebugString( Operation );
		OutputDebugString( 'Currently browsing date:' );
		OutputDebugString( Calendar.Date );
	end
end;

// LayoutStartChanging event - Occurs when the control's layout is about to be changed.
procedure TForm1.Schedule1LayoutStartChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'Start exCalendarDateChange(3)' );
		OutputDebugString( Operation );
		OutputDebugString( 'Previously browsing date:' );
		OutputDebugString( Calendar.Date );
	end
end;


133
How can I display the time-zone behind or back (method 2)

with Schedule1 do
begin
	Calendar.Selection := '6/27/2012';
	with MarkZones.Add('zone','6/27/2012 10:30:00 AM','6/27/2012 1:00:00 PM') do
	begin
		LongLabel := 'zone';
		with Pattern do
		begin
			Type := EXSCHEDULELib_TLB.exPatternBDiagonal;
			Color := $282828;
		end;
	end;
	ShowMarkZone := EXSCHEDULELib_TLB.exShowMarkZonesSemi;
	Events.Add('6/27/2012 11:00:00 AM','6/27/2012 12:30:00 PM');
end
132
How can I display the time-zone behind or back (method 1)

with Schedule1 do
begin
	Calendar.Selection := '6/27/2012';
	MarkZones.Add('zone','6/27/2012 10:30:00 AM','6/27/2012 1:00:00 PM').LongLabel := 'zone';
	ShowMarkZone := EXSCHEDULELib_TLB.exShowMarkZonesBack;
	Events.Add('6/27/2012 11:00:00 AM','6/27/2012 12:30:00 PM');
end
131
How can I add a time-zone

with Schedule1 do
begin
	Calendar.Selection := '6/27/2012';
	MarkZones.Add('zone','6/27/2012 10:30:00 AM','6/27/2012 1:00:00 PM').LongLabel := 'zone';
end
130
How can I specify a larger height for the timer, or it is possible to make it bigger

with Schedule1 do
begin
	BeginUpdate();
	Calendar.Selection := '5/24/2012';
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAEGg4BC0MQAAYAQGKIYBkAKBQAGaAoDDUOQzQwAAxDGKUEwsACEIrjKCYVgOHYYQjGMZwHIUIhkGoSZKlCIRVDCKYJSzLcZAFIMRwSBiEQTmaa4Wi' + 
	'KIgIQiUBomGahajkMoYZCYKKSCI2S4aDZCIoTPLMagxC5GJCnSJnITJCpdV7XVgWHYVSzDM6yEScZTkFqubZsW5cNwXHZ9azkQpyFRPe6bbrqfJ/X5gN64HgBfrEUo8c' + 
	'LxHCMKw3DKPYrkOLHS4CQjnSrLcqzDK8ax3GafZwcbqKWbmR5LUjTNR1DS9Hy3Kh8O4sSDbDqeZZpW7bNx2Xa9YQZcS5JBvfA8BwXC6JY7heR4ZIHTT9GbNc7zXQdHxL' + 
	'iuUZrnUEwvFYIoDjeXZuHePA+A8Hx/kuYhQD2WQqg8T4vlWbJ3nuPg+l+H5BFEASAg==');
		Add(2,'CP:1 0 -3 0 3');
	end;
	with MarkTimes.Add('timer1','5/24/2012 11:15:00 AM') do
	begin
		BackColor := $1000000;
		Line := EXSCHEDULELib_TLB.exNoLines;
		Label := 'default height';
		LabelAlign := EXSCHEDULELib_TLB.exBottomRight;
	end;
	with MarkTimes.Add('timer2','5/24/2012 1:15:00 PM') do
	begin
		BackColor := $2000000;
		Line := EXSCHEDULELib_TLB.exNoLines;
		Label := 'larger height';
		LabelAlign := EXSCHEDULELib_TLB.exBottomRight;
	end;
	EndUpdate();
end
129
How I know what event was edited when it was edited by a user
// LayoutEndChanging event - Notifies your application once the control's layout has been changed.
procedure TForm1.Schedule1LayoutEndChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'End Operation exScheduleEditEvent(15)' );
		OutputDebugString( Operation );
		OutputDebugString( 'Use the global member from LayoutStartChanging, and you got the Event being edited' );
	end
end;

// LayoutStartChanging event - Occurs when the control's layout is about to be changed.
procedure TForm1.Schedule1LayoutStartChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'Start Operation exScheduleEditEvent(15)' );
		OutputDebugString( Operation );
		OutputDebugString( 'Holds the EventFromPoint to a global member' );
		OutputDebugString( EventFromPoint[-1,-1] );
	end
end;

with Schedule1 do
begin
	BeginUpdate();
	SelectEventStyle := Integer(EXSCHEDULELib_TLB.exLinesThicker) Or Integer(EXSCHEDULELib_TLB.exLinesSolid);
	Calendar.Selection := '5/24/2012';
	with Events do
	begin
		Add('5/24/2012 9:00:00 AM','5/24/2012 12:00:00 PM');
		Add('5/24/2012 10:45:00 AM','5/24/2012 12:45:00 PM');
	end;
	EndUpdate();
end
128
What are timers in your exSchedule component

with Schedule1 do
begin
	BeginUpdate();
	Calendar.Selection := '5/24/2012';
	with MarkTimes.Add('timer1','5/24/2012 8:35:00 AM') do
	begin
		Label := '<fgcolor=808080>fixed timer';
		LabelAlign := EXSCHEDULELib_TLB.exTopCenter;
		Pattern.Type := EXSCHEDULELib_TLB.exPatternBDiagonal;
		Pattern.Color := $e0e0e0;
	end;
	with MarkTimes.Add('timer2','5/24/2012 10:51:00 AM') do
	begin
		Label := '<fgcolor=00FF00>movable timer';
		Movable := True;
		BodyEventBackColor := $80ff80;
		LineColor := $ff000;
		TimeScaleLineColor := $ff00;
		TimeScaleLabel := '';
		Line := Integer(EXSCHEDULELib_TLB.exLinesThicker) Or Integer(EXSCHEDULELib_TLB.exLinesDash);
		Label := '<bgcolor=FFFFFF><fgcolor=00FF00><b><%hh%>:<%nn%> <%AM/PM%><br><%loc_sdate%>';
		TimeScaleLine := Integer(EXSCHEDULELib_TLB.exLinesThick) Or Integer(EXSCHEDULELib_TLB.exLinesDot4);
	end;
	with Events do
	begin
		Add('5/24/2012 9:00:00 AM','5/24/2012 12:00:00 PM');
		Add('5/24/2012 10:45:00 AM','5/24/2012 12:45:00 PM');
		Add('5/24/2012 11:30:00 AM','5/24/2012 2:30:00 PM');
		Add('5/24/2012 12:45:00 PM','5/24/2012 3:45:00 PM');
	end;
	EndUpdate();
end
127
How do I get the selected dates in the calendar panel
// LayoutEndChanging event - Notifies your application once the control's layout has been changed.
procedure TForm1.Schedule1LayoutEndChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'Operation: exScheduleSelectionChange(10)' );
		OutputDebugString( Operation );
		OutputDebugString( 'Selected Event Count:' );
		OutputDebugString( SelCount );
		OutputDebugString( 'First Selected Event:' );
		OutputDebugString( SelEvent[0] );
	end
end;

with Schedule1 do
begin
	Calendar.Selection := '1/1/2011';
	with Events do
	begin
		Add('1/1/2011 10:00:00 AM','1/1/2011 11:30:00 AM');
		Add('1/1/2011 11:30:00 AM','1/1/2011 1:30:00 PM');
	end;
end
126
How do I get the selected dates in the calendar panel
// LayoutEndChanging event - Notifies your application once the control's layout has been changed.
procedure TForm1.Schedule1LayoutEndChanging(ASender: TObject; Operation : LayoutChangingEnum);
begin
	with Schedule1 do
	begin
		OutputDebugString( 'Operation: exCalendarSelectionChange(1)' );
		OutputDebugString( Operation );
		with Calendar do
		begin
			OutputDebugString( 'Selected Date Count:' );
			OutputDebugString( SelCount );
			OutputDebugString( 'First Selected Date:' );
			OutputDebugString( SelDate[0] );
		end;
	end
end;


125
What is the easiest way to display a picture on my event

with Schedule1 do
begin
	Calendar.Selection := '5/24/2012';
	Pictures.Add('pic1','c:\exontrol\images\zipdisk.gif');
	Events.Add('5/24/2012 9:00:00 AM','5/24/2012 2:00:00 PM').Pictures := 'pic1';
end
124
How can I programmatically move a specified event
with Schedule1 do
begin
	BeginUpdate();
	Calendar.Selection := '5/24/2012';
	Events.Add('5/24/2012 10:00:00 AM','5/24/2012 12:00:00 PM').MoveBy('-00:15');
	EndUpdate();
end
123
How can I edit the event but still display its margins
// AddEvent event - Notifies your application once the a new event is added.
procedure TForm1.Schedule1AddEvent(ASender: TObject; Ev : IEvent);
begin
	// Ev.Editable = 1
end;

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := '<%=%256%><br><%=%5%>';
	DefaultEventShortLabel := DefaultEventLongLabel;
	Calendar.Selection := '1/10/2001';
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	with Events do
	begin
		with Add('1/10/2001 9:00:00 AM','1/10/2001 12:30:00 PM') do
		begin
			Editable := EXSCHEDULELib_TLB.exEditCaption;
			Caption := 'your caption';
		end;
		with Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM') do
		begin
			Editable := EXSCHEDULELib_TLB.exEditCaption;
			Caption := 'other caption';
		end;
	end;
end
122
How can I edit the events

// AddEvent event - Notifies your application once the a new event is added.
procedure TForm1.Schedule1AddEvent(ASender: TObject; Ev : IEvent);
begin
	// Ev.Editable = 3
end;

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := '';
	DefaultEventShortLabel := '';
	CreateEventLabel := '';
	Calendar.Selection := '1/10/2001';
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	with Events do
	begin
		with Add('1/10/2001 9:00:00 AM','1/10/2001 12:30:00 PM') do
		begin
			Editable := EXSCHEDULELib_TLB.exEditLongLabel;
			LongLabel := 'just your label';
		end;
		with Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM') do
		begin
			Editable := EXSCHEDULELib_TLB.exEditLongLabel;
			LongLabel := 'just another label';
		end;
	end;
end
121
At the moment the scheduler only displays events from 8:00 am to 3:00 pm. How do I extend this time frame

with Schedule1 do
begin
	DayStartTime := '07:30';
	DayEndTime := '14:30';
end
120
How does localization work

with Schedule1 do
begin
	with Calendar do
	begin
		FirstWeekDay := LocFirstWeekDay;
		MonthNames := LocMonthNames;
		WeekDays := LocWeekDays;
		AMPM := LocAMPM;
	end;
end
119
Is it possible to limit the calendar to one month only

with Schedule1 do
begin
	ScrollBars := EXSCHEDULELib_TLB.exNoScroll;
	AllowMoveSchedule := EXSCHEDULELib_TLB.exDisallow;
	with Calendar do
	begin
		Selection := '1/10/2001';
		MinDate := '1/1/2001';
		MaxDate := '1/31/2001';
	end;
end
118
How can I display a distingue text for repetitive events

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := '<%=%256%><br><%=%264? `repetitive event`:``%>';
	DefaultEventShortLabel := DefaultEventLongLabel;
	Calendar.Selection := '1/10/2001';
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	with Events do
	begin
		Add('1/10/2001 9:00:00 AM','1/10/2001 12:30:00 PM').Repetitive := 'weekday(value) = 3';
		Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM');
	end;
end
117
How can I display the event's duration on the body of the event

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := '<%=%256%><br><%=((1:=int(0:= (date(%2)-date(%1)))) != 0 ? (=:1 + '' day(s)'') : '''') + (=:1 ? '' '' : '''' ) + ((1:=int(0:=((=:0 - =:1 ' + 
	'+ 1/24/60/60/2)*24))) != 0 ? =:1 + '' hour(s)'' : '''' ) + (=:1 ? '' '' : '''' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + '' min(s)'' : ' + 
	''''')%>';
	DefaultEventShortLabel := DefaultEventLongLabel;
	Calendar.Selection := '1/10/2001';
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	with Events do
	begin
		Add('1/10/2001 9:00:00 AM','1/10/2001 12:30:00 PM');
		Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM');
	end;
end
116
The sample shows how the event's body can display automatically the UserData property of the event

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := '<%=%256%><br><%=%6%>';
	DefaultEventShortLabel := DefaultEventLongLabel;
	Calendar.Selection := '1/10/2001';
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	with Events do
	begin
		Add('1/10/2001 9:00:00 AM','1/10/2001 12:30:00 PM').UserData := 'UserData 1';
		Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM').UserData := 'UserData 2';
	end;
end
115
The sample shows how the event's body can display automatically the Caption property of the event

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := '<%=%256%><br><%=%5%>';
	DefaultEventShortLabel := DefaultEventLongLabel;
	Calendar.Selection := '1/10/2001';
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	with Events do
	begin
		Add('1/10/2001 9:00:00 AM','1/10/2001 12:30:00 PM').Caption := 'Event 1';
		Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM').Caption := 'Event 2';
	end;
end
114
The sample shows how the event's body can display automatically the group's ID, Caption and Title

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := 'Group''s ID:<%=%4%><br>Group''s Caption: <%=%262%><br>Group''s Title: <%=%263%><br><%=%256%>';
	DefaultEventShortLabel := DefaultEventLongLabel;
	Calendar.Selection := '1/10/2001';
	DisplayGroupingButton := True;
	ShowGroupingEvents := True;
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	with Groups do
	begin
		with Add(1,'Group 1') do
		begin
			Title := 'First';
			Visible := True;
		end;
		with Add(2,'Group 2') do
		begin
			Title := 'Second';
			Visible := True;
		end;
	end;
	with Events do
	begin
		Add('1/10/2001 9:00:00 AM','1/10/2001 12:30:00 PM').GroupID := 1;
		Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM').GroupID := 2;
	end;
end
113
The following sample displays automatically an "All-Day-Event: " prefix for AllDayEvent events

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := '<%=%3 ? `All-Day-Event: `: ``%><%=%256%>';
	DefaultEventShortLabel := DefaultEventLongLabel;
	Calendar.Selection := '1/10/2001';
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	with Events do
	begin
		Add('1/10/2001','1/10/2001').AllDayEvent := True;
		Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM');
	end;
end
112
How can I use the calendar's LongTimeFormat

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := '<%=%257%>';
	DefaultEventShortLabel := '<%=%257%>';
	with Calendar do
	begin
		Selection := '1/10/2001';
		LongTimeFormat := '<%hh%>:<%nn%>:<%ss%>';
	end;
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	Events.Add('1/10/2001 10:00:00 AM','1/11/2001 1:00:00 PM');
end
111
How can I use the calendar's ShortTimeFormat. The sample displays the times in 24-hours format

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := '<%=%256%>';
	DefaultEventShortLabel := '<%=%256%>';
	TimeScales.Item[OleVariant(0)].MajorTimeLabel := '<%hh%>:<%nn%>';
	with Calendar do
	begin
		Selection := '1/10/2001';
		ShortTimeFormat := '<%h%>:<%nn%>';
	end;
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	Events.Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM');
end
110
How can I use the calendar's ShortDateFormat

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := '<%=%256%>';
	DefaultEventShortLabel := '<%=%256%>';
	with Calendar do
	begin
		Selection := '1/10/2001';
		ShortDateFormat := '<%loc_d2%>, <%loc_m2%> <%d%>, <%yy%>';
	end;
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	Events.Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM').AllDayEvent := True;
end
109
How can I use the calendar's LongDateFormat

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	DefaultEventLongLabel := '<%=%257%>';
	DefaultEventShortLabel := '<%=%257%>';
	with Calendar do
	begin
		Selection := '1/10/2001';
		LongDateFormat := '<%loc_dddd%>, <%loc_mmm%> <%d%>, <%yyyy%>';
	end;
	OnResizeControl := Integer(EXSCHEDULELib_TLB.exCalendarAutoHide) Or Integer(EXSCHEDULELib_TLB.exCalendarFit) Or Integer(EXSCHEDULELib_TLB.exResizePanelRight);
	Events.Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM').AllDayEvent := True;
end
108
Is it possible to prevent updating events

with Schedule1 do
begin
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	AllowUpdateDisableZone := False;
	with Calendar do
	begin
		ShowNonMonthDays := False;
		Selection := '1/9/2001';
		DisableZoneFormat := 'value >= #1/11/2001#';
		MinDate := '1/1/2001';
	end;
	with Events do
	begin
		Add('1/10/2001 10:00:00 AM','1/10/2001 1:00:00 PM');
		Add('1/11/2001 10:00:00 AM','1/11/2001 1:00:00 PM');
	end;
end
107
How can I specify that after editing the caption should be on top ( method 2 )

with Schedule1 do
begin
	DefaultEventLongLabel := '';
	DefaultEventShortLabel := DefaultEventLongLabel;
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	with Calendar do
	begin
		ShowNonMonthDays := False;
		Selection := '1/1/2001';
	end;
	with Events do
	begin
		with Add('1/1/2001 10:00:00 AM','1/1/2001 1:00:00 PM') do
		begin
			ExtraLabel := 'title';
			ExtraLabelAlign := EXSCHEDULELib_TLB.exTopLeft;
		end;
	end;
end
106
How can I specify that after editing the caption should be on top ( method 1 )

with Schedule1 do
begin
	DefaultEventLongLabel := '';
	DefaultEventShortLabel := DefaultEventLongLabel;
	SelectEventStyle := EXSCHEDULELib_TLB.exLinesSolid;
	with Calendar do
	begin
		ShowNonMonthDays := False;
		Selection := '1/1/2001';
	end;
	with Events do
	begin
		with Add('1/1/2001 10:00:00 AM','1/1/2001 1:00:00 PM') do
		begin
			LongLabel := 'title';
			Editable := EXSCHEDULELib_TLB.exEditLongLabel;
		end;
	end;
end
105
How can I get ride or hide the of the calendar's grid lines

with Schedule1 do
begin
	with Calendar do
	begin
		ShowNonMonthDays := False;
		Selection := '1/1/2001';
		ShowGridLines := EXSCHEDULELib_TLB.exNoLines;
	end;
end
104
How can I programmatically select a single date ( method 2 )

with Schedule1 do
begin
	Calendar.Selection := '1/1/2012';
end
103
How can I programmatically select a single date ( method 1 )

with Schedule1 do
begin
	with Calendar do
	begin
		Selection := '0';
		SelectDate['1/1/2012'] := True;
	end;
end
102
How can I prevent showing the Today button, in the calendar panel

with Schedule1 do
begin
	OnResizeControl := EXSCHEDULELib_TLB.exHideSplitter;
	Calendar.ShowTodayButton := False;
end
101
How can I display just the calendar panel, not including the schedule panel

with Schedule1 do
begin
	OnResizeControl := EXSCHEDULELib_TLB.exHideSplitter;
end